搜索 K
Appearance
博客正在加载中...
Appearance
我们来动手实现一个 Servlet 并处理请求
我们创建一个 JavaWeb 项目(在 Tomcat 中已经讲过如何创建了)
在 src 里写一个包 com.peterjxl ,定义一个类 ServletDemo1Hello,实现 Servlet 接口
public class ServletDemo1Hello implements Servlet 我们导入 Tomcat 目录下的 servlet-api.jar,这样我们才能正常编写 Servlet 代码:

然后实现接口中的抽象方法,此时代码如下:
package com.peterjxl;
import javax.servlet.*;
import java.io.IOException;
public class ServletDemo1Hello implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
接下来我们需要配置 web.xml,例如通过什么路径访问到这个 Servlet:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>demo1</servlet-name>
<servlet-class>com.peterjxl.ServletDemo1Hello</servlet-class>
</servlet>
<!--配置Servlet -->
<servlet-mapping>
<servlet-name>demo1</servlet-name> <!-- 访问路径时,使用哪个Servlet-->
<url-pattern>/demo1</url-pattern> <!-- 访问哪个路径-->
</servlet-mapping>
</web-app>这里的配置应该很好理解,首先定义了一个 Servlet,包括 Servlet 的名字(方便后面引用),Servlet 的全类名;
然后定义了路径映射关系,当访问 /demo1 的时候,由哪个 Servlet 处理
在 service 方法里编写业务逻辑代码,每次访问的时候,service 方法都会被执行:
//提供服务的方法
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("Hello Servlet");
}启动 JavaWeb 项目,当访问 http://localhost: 8080/hello/demo1 时,可以看到 service 方法自动被调用了,每次访问都会调用一次
Hello Servlet!
Hello Servlet!现在我们来梳理下 Servlet 的执行过程:
<url-pattern> 标签体内容。<servlet-class> 全类名service 方法实现一个 Servlet 的步骤如下: